home *** CD-ROM | disk | FTP | other *** search
- unit UnitFormMain;
-
- interface
-
- uses
- Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
- UnitMulticaster, StdCtrls;
-
- type
- TFormMain = class(TForm)
- Edit1: TEdit;
- Button1: TButton;
- Label1: TLabel;
- procedure FormCreate(Sender: TObject);
- procedure FormDestroy(Sender: TObject);
- procedure Edit1Change(Sender: TObject);
- procedure Button1Click(Sender: TObject);
- private
- FMulticaster: TEventMulticaster;
- FUserName: string;
- procedure SetUserName(const aUserName: string);
- public
- public property UserName: string read FUserName write SetUserName;
- property Multicaster: TEventMulticaster read FMulticaster;
- end;
- TEventUserNameChange = class(TEvent);
-
- var
- FormMain: TFormMain;
-
- implementation
-
- {$R *.DFM}
-
- uses UnitFormListener;
-
- procedure TFormMain.FormCreate(Sender: TObject);
- begin
- FMulticaster := TEventMulticaster.Create;
- end;
-
- procedure TFormMain.FormDestroy(Sender: TObject);
- begin
- FMulticaster.Free;
- end;
-
- procedure TFormMain.Edit1Change(Sender: TObject);
- begin
- UserName := Edit1.Text;
- end;
-
- procedure TFormMain.SetUserName(const aUserName: string);
- begin
- if (aUserName <> UserName) then
- begin
- FUserName := aUserName;
- Multicaster.Broadcast(TEventUserNameChange.Create(Self))
- end;
- end;
-
- procedure TFormMain.Button1Click(Sender: TObject);
- begin
- TFormListener.Create(Self).Show;
- end;
-
- end.
-